﻿using System;
using System.Linq;
using System.Collections.Generic;
using SIM.Geo.DA;
using SIM.Geo.BE;

namespace SIM.Geo.BL
{
    public class BLDetallePerforacion
    {
        #region Metodos
        /// <summary>
        /// Método que devuelve la lista de DetallePerforacion
        /// </summary>
        /// <returns></returns>
        public List<DetallePerforacion> ListarDetallePerforacion(int codigoAvanceDiario)
        {
            return Accesor.ListarDetallePerforacion(codigoAvanceDiario);
        }
        /// <summary>
        /// Método para insertar una DetallePerforacion
        /// </summary>
        /// <param name="DetallePerforacion"></param>
        /// <returns></returns>
        public int InsertarDetallePerforacion(DetallePerforacion detallePerforacion)
        {
            return Accesor.InsertarDetallePerforacion(detallePerforacion);
        }
        /// <summary>
        /// Método para modificar un DetallePerforacion
        /// </summary>
        /// <param name="DetallePerforacion"></param>
        public void ModificarDetallePerforacion(DetallePerforacion detallePerforacion)
        {
            Accesor.ModificarDetallePerforacion(detallePerforacion);
        }
        /// <summary>
        /// Método para eliminar DetallePerforacion
        /// </summary>
        /// <param name="DetallePerforacion"></param>
        public void EliminarDetallePerforacion(int codigoAvanceDiario, int codigoSondaje, int orden)
        {
            var detallaPerforacion = Accesor.ObtenerDetallePerforacion(codigoAvanceDiario, codigoSondaje, orden);
            if (detallaPerforacion != null)
                Accesor.EliminarDetallePerforacion(detallaPerforacion);
        }

        /// <summary>
        /// Método que devuelve DetallePerforacion por codigo
        /// </summary>
        /// <param name="codigoDetallePerforacion"></param>
        /// <returns></returns>
        public DetallePerforacion ObtenerDetallePerforacion(int codigoAvanceDiario, int codigoSondaje, int orden)
        {
            return Accesor.ObtenerDetallePerforacion(codigoAvanceDiario, codigoSondaje, orden);
        }

        /// <summary>
        /// Método que devuelve la lista de DetallePerforacion Por Avance diario
        /// </summary>
        /// <returns></returns>
        public List<buscarDetallePerforacion_Result> BuscarDetallePerforacion(int codigoAvanceDiario, int codigoSondaje)
        {
            return Accesor.BuscarDetallePerforacion(codigoAvanceDiario, codigoSondaje);
        }
        #endregion

        #region Accesor
        private static DADetallePerforacion Accesor
        {
            [System.Diagnostics.DebuggerStepThrough]
            get { return new DADetallePerforacion(); }
        }
        #endregion
    }
}
